1
L'arte delle definizioni di metodi flessibili
AI035Lesson 4
00:00

Ruby eleva le definizioni di metodo dalle firme rigide a interfacce dinamiche. Padronizzando il operatore Splat operatore e la logica basata su espressioni, creiamo metodi che si adattano con eleganza a densità di dati variabili senza necessità di sovraccarichi complessi.

1. Predefiniti intelligenti e Splat

Ruby permette di inizializzare i parametri nella firma, garantendo funzionalità anche con pochi dati. L' operatore Splat (*) agisce come un ponte: nei parametri, cattura gli argomenti aggiuntivi in un array; nelle chiamate, 'espande' un array in slot individuali.

LA CATTURA (Parametro)def f(a, *rest)f(1, 2, 3) →rest = [2, 3]L'ESPLOSIONE (Chiamata)arr = [1, 2, 3]meth(*arr) →meth(1, 2, 3)

2. Ritorni basati su espressioni

I metodi Ruby restituiscono automaticamente il valore dell' ultima espressione eseguita. Tuttavia, la parola chiave return viene utilizzata strategicamente per uscire anticipatamente o restituire più valori come un array per assegnazione parallela.

num, sq = meth_three
# Ruby incapsula (num, sq) in un array [32, 1024]
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>